package com.ruoyi.association.domain;

import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 协会对象 sys_association
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_association")
public class SysAssociation extends BaseEntity implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 协会ID */
    @TableId(value = "association_id", type = IdType.AUTO)
    private Long associationId;

    /** 协会名称 */
    @Excel(name = "协会名称")
    private String associationName;

    /** 协会编码 */
    @Excel(name = "协会编码")
    private String associationCode;

    /** 协会类型（1学术 2文体 3兴趣 4其他） */
    @Excel(name = "协会类型", readConverterExp = "1=学术,2=文体,3=兴趣,4=其他")
    private String associationType;

    /** 会长ID */
    @Excel(name = "会长ID")
    private Long presidentId;

    /** 副会长ID */
    @Excel(name = "副会长ID")
    private Long vicePresidentId;

    /** 秘书长ID */
    @Excel(name = "秘书长ID")
    private Long secretaryId;

    /** 会员数量 */
    @Excel(name = "会员数量")
    private Integer memberCount;

    /** 协会简介 */
    @Excel(name = "协会简介")
    private String associationDesc;

    /** 协会图片 */
    @Excel(name = "协会图片")
    private String associationImage;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    private String delFlag;

    /** 会长姓名 */
    private String presidentName;

    /** 副会长姓名 */
    private String vicePresidentName;

    /** 秘书长姓名 */
    private String secretaryName;

    public void setAssociationId(Long associationId) 
    {
        this.associationId = associationId;
    }

    public Long getAssociationId() 
    {
        return associationId;
    }

    public void setAssociationName(String associationName) 
    {
        this.associationName = associationName;
    }

    public String getAssociationName() 
    {
        return associationName;
    }

    public void setAssociationCode(String associationCode) 
    {
        this.associationCode = associationCode;
    }

    public String getAssociationCode() 
    {
        return associationCode;
    }

    public void setAssociationType(String associationType) 
    {
        this.associationType = associationType;
    }

    public String getAssociationType() 
    {
        return associationType;
    }

    public void setPresidentId(Long presidentId) 
    {
        this.presidentId = presidentId;
    }

    public Long getPresidentId() 
    {
        return presidentId;
    }

    public void setVicePresidentId(Long vicePresidentId) 
    {
        this.vicePresidentId = vicePresidentId;
    }

    public Long getVicePresidentId() 
    {
        return vicePresidentId;
    }

    public void setSecretaryId(Long secretaryId) 
    {
        this.secretaryId = secretaryId;
    }

    public Long getSecretaryId() 
    {
        return secretaryId;
    }

    public void setMemberCount(Integer memberCount) 
    {
        this.memberCount = memberCount;
    }

    public Integer getMemberCount() 
    {
        return memberCount;
    }

    public void setAssociationDesc(String associationDesc) 
    {
        this.associationDesc = associationDesc;
    }

    public String getAssociationDesc() 
    {
        return associationDesc;
    }

    public void setAssociationImage(String associationImage) 
    {
        this.associationImage = associationImage;
    }

    public String getAssociationImage() 
    {
        return associationImage;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getPresidentName() 
    {
        return presidentName;
    }

    public void setPresidentName(String presidentName) 
    {
        this.presidentName = presidentName;
    }

    public String getVicePresidentName() 
    {
        return vicePresidentName;
    }

    public void setVicePresidentName(String vicePresidentName) 
    {
        this.vicePresidentName = vicePresidentName;
    }

    public String getSecretaryName() 
    {
        return secretaryName;
    }

    public void setSecretaryName(String secretaryName) 
    {
        this.secretaryName = secretaryName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("associationId", getAssociationId())
            .append("associationName", getAssociationName())
            .append("associationCode", getAssociationCode())
            .append("associationType", getAssociationType())
            .append("presidentId", getPresidentId())
            .append("vicePresidentId", getVicePresidentId())
            .append("secretaryId", getSecretaryId())
            .append("memberCount", getMemberCount())
            .append("associationDesc", getAssociationDesc())
            .append("associationImage", getAssociationImage())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
